/**
LittleMoon
*/
#include <bits/stdc++.h>
using namespace std;
#define int long long
#define fr(i, l, r) for(int i = int(l); i<int(r); ++i)
#define sz(a) int((a.size()))
//#define mod 998244353
#define MOD 1000000007
#define INF 1000000000000000000
#define ya cout<<"YES"<<endl;
#define na cout<<"NO"<<endl;
#define dbug cout<<"check here "<<endl;
#define N 200005
#define mod 1000000007
//#define mod 998244353
int binpow(int a, int b) {
if (b == 0)
return 1;
int res = binpow(a, b / 2);
if (b % 2)
return (((res * res)%mod) * a)%mod;
else
return (res*res)%mod;
}
void solve()
{
int n;
cin>>n;
char a[n+1][n+1] = {0};
int maxr[10] = {0};
int minr[10] = {0};
int maxc[10] = {0};
int minc[10] = {0};
for(int i=0; i<10; ++i)
{
minr[i] = INF;
minc[i] = INF;
}
int ans[10] = {0};
for(int i=1; i<=n; ++i)
{
for(int j=1; j<=n; ++j)
{
cin>>a[i][j];
int z = a[i][j] - '0';
maxr[z] = max(maxr[z], i);
minr[z] = min(minr[z], i);
maxc[z] = max(maxc[z], j);
minc[z] = min(minc[z], j);
}
}
for(int i=1; i<=n; ++i)
{
for(int j=1; j<=n; ++j)
{
int z = a[i][j] - '0';
ans[z] = max(ans[z], max(maxr[z]-i, i-minr[z])*(max(n-j, j-1)));
ans[z] = max(ans[z], max(maxc[z]-j, j-minc[z])*(max(n-i, i-1)));
}
}
for(int i=0; i<=9; ++i)
{
cout<<ans[i]<<" ";
}
cout<<endl;
}
int32_t main()
{
ios_base::sync_with_stdio(false);
cin.tie(0), cout.tie(0);
int tc=1; cin>>tc;
for(int i=1; i<=tc; ++i)
{
solve();
}
}
20. Valid Parentheses | 746. Min Cost Climbing Stairs |
392. Is Subsequence | 70. Climbing Stairs |
53. Maximum Subarray | 1527A. And Then There Were K |
1689. Partitioning Into Minimum Number Of Deci-Binary Numbers | 318. Maximum Product of Word Lengths |
448. Find All Numbers Disappeared in an Array | 1155. Number of Dice Rolls With Target Sum |
415. Add Strings | 22. Generate Parentheses |
13. Roman to Integer | 2. Add Two Numbers |
515. Find Largest Value in Each Tree Row | 345. Reverse Vowels of a String |
628. Maximum Product of Three Numbers | 1526A - Mean Inequality |
1526B - I Hate 1111 | 1881. Maximum Value after Insertion |
237. Delete Node in a Linked List | 27. Remove Element |
39. Combination Sum | 378. Kth Smallest Element in a Sorted Matrix |
162. Find Peak Element | 1529A - Eshag Loves Big Arrays |
19. Remove Nth Node From End of List | 925. Long Pressed Name |
1051. Height Checker | 695. Max Area of Island |